package View;

import Model.Dao.AlunoDao;
import Model.Dao.AlunoImpl;
import Model.Dao.AtividadeDao;
import Model.Dao.AtividadeImpl;
import Model.Dao.DisciplinaDao;
import Model.Dao.DisciplinaImpl;
import Model.Dao.FaltaDao;
import Model.Dao.FaltaImpl;
import Model.Dao.HistoricoEscolarDao;
import Model.Dao.HistoricoEscolarImpl;
import Model.Dao.NotaDao;
import Model.Dao.NotaImpl;
import Model.Dao.ProfessorDao;
import Model.Dao.ProfessorImpl;
import Model.Dao.TurmaDao;
import Model.Dao.TurmaImpl;
import View.MenuPrincipal;

/**
 *
 * @author Amanda
 */
public class SistemaAcademico {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws Exception {
        // TODO code application logic here

        AlunoImpl alunoImpl = new AlunoImpl();
        AtividadeImpl atividadeImpl = new AtividadeImpl();
        DisciplinaImpl disciplinaImpl = new DisciplinaImpl();
        FaltaImpl faltaImpl = new FaltaImpl();
        HistoricoEscolarImpl historicoEscolarImpl = new HistoricoEscolarImpl();
        NotaImpl notaImpl = new NotaImpl();
        ProfessorImpl professorImpl = new ProfessorImpl();
        TurmaImpl turmaImpl = new TurmaImpl();
   
        MenuAluno menuAluno = new MenuAluno(alunoImpl, atividadeImpl, disciplinaImpl, professorImpl, turmaImpl);
        MenuAtividade menuAtividade = new MenuAtividade(atividadeImpl, turmaImpl);
        MenuDisciplina menuDisciplina = new MenuDisciplina(disciplinaImpl);
        MenuProfessor menuProfessor = new MenuProfessor(alunoImpl, atividadeImpl, disciplinaImpl,
                                                         professorImpl, turmaImpl);
        MenuTurma menuTurma = new MenuTurma(alunoImpl, disciplinaImpl, faltaImpl, notaImpl, professorImpl, turmaImpl);

        MenuPrincipal mp = new MenuPrincipal(menuAluno, menuAtividade, menuDisciplina, menuProfessor, menuTurma);
        mp.menuPrincipal();


        //salvando as listas no arquivo



        alunoImpl.escreverArqAluno();
        atividadeImpl.escreverArquivoAtividade();
        disciplinaImpl.escreverArquivoDisciplina();
        faltaImpl.escreverArquivoFalta();
        historicoEscolarImpl.escreverArquivoHistoricoEscolar();
        notaImpl.escreverArquivoNota();
        professorImpl.escreverArquivoProfessor();
        turmaImpl.escreverArquivoTurma();




    }
}